{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "is_executing": false
    }
   },
   "outputs": [],
   "source": [
    "# Configure plotting in Jupyter\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "plt.rcParams.update({\n",
    "    'figure.figsize': (7.5, 7.5),\n",
    "    'axes.spines.right': False,\n",
    "    'axes.spines.left': False,\n",
    "    'axes.spines.top': False,\n",
    "    'axes.spines.bottom': False})\n",
    "# Seed random number generator\n",
    "from numpy import random as nprand\n",
    "import random\n",
    "seed = hash(\"Network Science in Python\") % 2**32\n",
    "nprand.seed(seed)\n",
    "random.seed(seed)\n",
    "\n",
    "import networkx as nx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 540x540 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "# Create data directory path\n",
    "# from pathlib import Path\n",
    "# data_dir = Path('.') / 'data'\n",
    "# Read edge list\n",
    "G = nx.read_edgelist(\"data/example.edgelist\")\n",
    "# Draw network\n",
    "pos = nx.spring_layout(G)\n",
    "nx.draw_networkx(G, pos)\n",
    "plt.gca().margins(0.15, 0.15)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 540x540 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "G = nx.read_edgelist(\"data/example.edgelist\",create_using=nx.DiGraph)\n",
    "nx.draw_networkx(G,pos,arrows=20)\n",
    "plt.gca().margins(0.15, 0.15)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 540x540 with 1 Axes>",
      "image/png": "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8gmV3gNr1aoVJk+ejC5dukClUmH48OHo1KUL/r28vej4dggaHc68VxpgdQfOhD6mDer2ewk5W5Yj65t3AEEFXdSNCL97fMnzbmlkP0w4Y8YMDB8+HLVq1UKzZs3wyCOPlOxlXS0sLAw//fQTevXqBa1Wi9deew1LlizBxIkT8c8//8BgMKBbt27o0aNHZf+YRETk4Vw2SmrMij/w0/EL153A4bQIAbinVT0kDut4/ScTEZG/qdlRUhN6NoNeU7Vp8nqNGuN7NnNVKURE5AdcFmA3xYRheu84GLSVe0uDVoXpvePQLjrMVaUQEZEfcOn9wIZ1bgwAFZtGL9j3vKb3jit5HRERUUXVyP3ADqflYsHWk9jydyYEAMar7wemUUEC0KtFJMb3bMY9LyIiuh733A/satkFJmw4kIakc/nIM1oQqtcirkEI+neIRkSwrjpvTURE/sP9AUZEROQCNX9DSyIiIndhgBERkVdigBERkVdigBERkVdigBERkVdigBERkVdigBERkVdigBERkVe63ixEpxePERERKY17YERE5JUYYERE5JUYYERE5JUYYERE5JUYYERE5JUYYERE5JX+H8gPADT7hdpuAAAAAElFTkSuQmCC\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "G = nx.read_weighted_edgelist(\n",
    "    'data/weighted.edgelist')\n",
    "# Extract weights\n",
    "weights = [d['weight'] for s, t, d in G.edges(data=True)]\n",
    "# Draw network\n",
    "ax = plt.subplot(111)\n",
    "nx.draw_networkx(\n",
    "    G, pos, width=4, edge_color=weights, edge_cmap=plt.cm.Reds)\n",
    "# ax.margins(0.15, 0.15)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 540x540 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAGmCAYAAAAdwdGsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deVjVZf7/8efhgBxkEUEUUdQSE3MpNXMXLLN0GpvK1MppsWkzx6nsO6W2TdY4/SqraTLLZsxSc8xWyyxLcculJHRMyTRBFlEgkUXWw/n98VHgCCoonHM+8Hpc11xx7s9ZbrgcXtz3577ft8XhcCAiImI2Xu7ugIiIyLlQgImIiCkpwERExJQUYCIiYkoKMBERMSUFmIiImJL3Wa5rjb2IiLibpaZGjcBERMSUFGAiImJKCjARETElBZiIiJiSAkxERExJASYiIqakABMREVNSgImIiCkpwERExJQUYCIiYkoKMBERMSUFmIiImJICTERETEkBJiIipqQAExERU1KAiYiIKSnARETElBRgIiJiSgowERExJQWYiIiYkgJMRERMSQEmIiKmpAATERFTUoCJiIgpKcBERMSUFGAiImJKCjARETElBZiIiJiSAkxERExJASYiIqakABMREVNSgImIiCkpwERExJQUYCIiYkoKMBERMSUFmIiImJICTERETEkBJiIipqQAExERU1KAiYiIKSnARETElBRgIiJiSgowERExJQWYiIiYkgJMRERMSQEmIiKmpAATERFTUoCJiIgpKcBERMSUFGAiImJKCjARETElb3d3QKS2svKLWb49lcSMXHKLygiyeRMdHsRNfdsTGuDr7u6JiItZHA7Hma6f8aKIK+xIyeH1uH2s25sJQHFZecU1m7cXDiC2axiTY6K4JDLYTb0UkQZkqbFRASaebNGWJJ5bmUhRmZ0z/VO1WMDmbWXm6GgmDujksv6JiEvUGGC6ByYNZsOGDXTt2vWcX2+E1x4KS88cXgAOBxSW2nlu5R4WbUk6588UEfNQgEmdzJ49m9GjRzu1denSpca2tLQ0fv7553P6nB0pOTy3MpHC0vKzP7mKwtJynluZyM7UnHP6XBExDwWY1MmwYcPYtGkTdrsdgIyMDEpLS4mPj3dq27dvH8OGDTvnz3k9bh9FZfZzem1hSQlz4/ad82eL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3kGtCOgxnNBRU0/fz1I7ANOnT8disbBz505CQ0P55JNPmDJlitNz582bx/PPP89DDz3Eyy+/DEBkZCQzZ85k5syZdfqeRETEQ6cQP/nkE6xWK7t37yYhIYGEhAT27NnD0KFDeffdd+v0XgUFBVgsFsLCwgBYsGABR9N+rbievfJVvEPb02LAWKfX+XcfzvF92yj8dTuOcjuOshKKkndSlptV8Rw/HysAeXl5BAQEEBwcTFpaGi+88EK1fgQGBrJq1SrWr1/PY489BsDdd9/NvHnz2Lp1Kw6Hg4KCAr744gvy8vLq9D2KiDRFHjkCW7hwIXfeeScdOnRwap8yZQpTp05lxIgRtX6viy++mGnTpjFw4EC8vLy47bbbiOrZh1wvY2P38T3rsXj7cvClygBrPe5pbJE9aH3jExxdu4Csz14Aixe+ERcRMnIyAF4WC+EtbAA89dRT3HbbbbRo0YKoqCj++Mc/VoyyqgoODmb16tUMHz4cHx8fZs2axfz585kyZQq//PILfn5+DBkyhGHDhtX5ZyYi0tQ0yVJSWfnFDH5+TbWqG3Xh6+3Fd49eoRqJIiINT6WkTmoV4EvMRWFYavyRnJ3FAsO7him8RETcqEkGGMADsVHYvK3n9Fqbt5XJsVH13CMREamLJhtgl0QGM3N0NH4+dfsR+Pl4MXN0NL3aqyq9iIg7eeQiDleZOKATAM+tTKSozM6ZbgdaLMbIa+bo6IrXiYiI+zTJRRyn2pmaw9y4faz9ORMLxhEqJ508D2x41zAmx0Zp5CUi4no60PJssvOLWR6fSuKhPHKLSgmy+RDdNpCxfXQis4iIGynARETElLSMXkREGg8FmIiImJICTERETEkBJiIipqQAExERU1KAiYiIKSnARETElBRgIiJiSgowERExJQWYiIiYkgJMRERMSQEmIiKmpAATERFTUoCJiIgpKcBERMSUFGAiImJKCjARETElBZiIiJiSAkxERExJASYiIqakABMREVNSgImIiCkpwERExJQUYCIiYkoKMBERMSUFmIiImJICTERETEkBJiIipqQAExERU1KAiYiIKSnARETElBRgIiJiSgowERExJQWYiIiYkgJMRERMSQEmIiKmpAATERFTUoCJiIgpKcBERMSUFGAiImJKCjARETElBZiIiJiSAkxERExJASYiIqakABMREVNSgImIiCkpwERExJQUYCIiYkoKMBERMSUFmIiImJL3Wa5bXNILERGROtIITERETEkBJiIipqQAExERU1KAiYiIKSnARETElBRgIiJiSv8fDWQK9IS0M+IAAAAASUVORK5CYII=\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Read edge list \n",
    "G = nx.read_edgelist(\n",
    "    'data/attributes.edgelist',\n",
    "    data=[('weight', float), ('color', str)],create_using=nx.DiGraph)\n",
    "# Extract colors\n",
    "colors = [d['color'] for s, t, d in G.edges(data=True)]\n",
    "# Draw network\n",
    "ax = plt.subplot(111)\n",
    "nx.draw_networkx(\n",
    "    G, pos, width=4, edge_color=colors)\n",
    "ax.margins(0.15, 0.15)\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "<?xml version='1.0' encoding='utf-8'?>\n<gexf version=\"1.2\" xmlns=\"http://www.gexf.net/1.2draft\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.gexf.net/1.2draft http://www.gexf.net/1.2draft/gexf.xsd\">\n  <meta lastmodifieddate=\"2020-08-24\">\n    <creator>NetworkX 2.4</creator>\n  </meta>\n  <graph defaultedgetype=\"undirected\" mode=\"static\" name=\"\">\n    <attributes class=\"node\" mode=\"static\">\n      <attribute id=\"0\" title=\"abbreviation\" type=\"string\" />\n    </attributes>\n    <nodes>\n      <node id=\"Winegroom\" label=\"Winegroom\">\n        <attvalues>\n          <attvalue for=\"0\" value=\"W\" />\n        </attvalues>\n      </node>\n      <node id=\"Uptown\" label=\"Uptown\">\n        <attvalues>\n          <attvalue for=\"0\" value=\"U\" />\n        </attvalues>\n      </node>\n      <node id=\"Strawshop\" label=\"Strawshop\">\n        <attvalues>\n          <attvalue for=\"0\" value=\"S\" />\n        </attvalues>\n      </node>\n      <node id=\"Amazelake\" label=\"Amazelake\">\n        <attvalues>\n          <attvalue for=\"0\" value=\"A\" />\n        </attvalues>\n      </node>\n      <node id=\"Province\" label=\"Province\">\n        <attvalues>\n          <attvalue for=\"0\" value=\"P\" />\n        </attvalues>\n      </node>\n    </nodes>\n    <edges>\n      <edge id=\"0\" source=\"Winegroom\" target=\"Uptown\" />\n      <edge id=\"1\" source=\"Winegroom\" target=\"Strawshop\" />\n      <edge id=\"2\" source=\"Uptown\" target=\"Strawshop\" />\n      <edge id=\"3\" source=\"Uptown\" target=\"Amazelake\" />\n      <edge id=\"4\" source=\"Strawshop\" target=\"Province\" />\n    </edges>\n  </graph>\n</gexf>\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "# Adjacency list\n",
    "import sys\n",
    "G = nx.read_adjlist('data/example.adjlist')\n",
    "for v in G.nodes:\n",
    "    G.nodes[v]['abbreviation'] = v[0]\n",
    "nx.write_gexf(G,sys.stdout)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "outputs": [
    {
     "data": {
      "text/plain": "{'directed': False,\n 'multigraph': False,\n 'graph': {},\n 'nodes': [{'abbreviation': 'W', 'id': 'Winegroom'},\n  {'abbreviation': 'U', 'id': 'Uptown'},\n  {'abbreviation': 'S', 'id': 'Strawshop'},\n  {'abbreviation': 'A', 'id': 'Amazelake'},\n  {'abbreviation': 'P', 'id': 'Province'}],\n 'links': [{'source': 'Winegroom', 'target': 'Uptown'},\n  {'source': 'Winegroom', 'target': 'Strawshop'},\n  {'source': 'Uptown', 'target': 'Strawshop'},\n  {'source': 'Uptown', 'target': 'Amazelake'},\n  {'source': 'Strawshop', 'target': 'Province'}]}"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 33
    }
   ],
   "source": [
    "nx.node_link_data(G)\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## Creating a Network with Code"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "outputs": [],
   "source": [
    "stop_words = set([\n",
    "    'the', 'of', 'and', 'i', 'to', 'my', 'in', 'was', 'that', 'thy',\n",
    "    'a', 'had', 'my', 'with', 'but', 'he', 'she', 'you', 'your',\n",
    "    'me', 'not', 'as', 'will', 'from', 'on', 'be', 'it', 'which',\n",
    "    'for', 'his', 'him', 'chapter', 'at', 'who', 'by', 'have',\n",
    "    'would', 'is', 'been', 'when', 'they', 'there', 'we', 'are',\n",
    "    'our', 'if', 'her', 'were', 'than', 'this', 'what', 'so',\n",
    "    'yet', 'more', 'their', 'them', 'or', 'could', 'an', 'can',\n",
    "    'said', 'may', 'do', 'these', 'shall', 'how', 'shall', 'asked',\n",
    "    'before', 'those', 'whom', 'am', 'even', 'its', 'did', 'then',\n",
    "    'abbey', 'tintern', 'wordsworth', 'letter', 'thee', 'thou', 'oh',\n",
    "    'into', 'any', 'myself', 'nor', 'himself', 'one', 'all', 'no', 'yes'\n",
    "    'now', 'upon', 'only', 'might', 'every', 'own', 'such', 'towards',\n",
    "    'again', 'most', 'ever', 'where', 'after', 'up', 'soon', 'many',\n",
    "    'also', 'like', 'over', 'us', 'thus', 'has', 'about']\n",
    "    + [str(x) for x in range(24)])\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [],
   "source": [
    "# This example uses regular expressions from the re package\n",
    "import re\n",
    "# Construct a network from a text\n",
    "def co_occurrence_network(text):\n",
    "    # Create a new network\n",
    "    G = nx.Graph()\n",
    "    # Split the text into sentences and iterate through them\n",
    "    sentences = text.split('.')\n",
    "    for s in sentences:\n",
    "        # Remove punctuation and convert to lowercase\n",
    "        clean = re.sub('[^\\w\\n ]+', '', s).lower()\n",
    "        clean = re.sub('_+', '', clean).strip()\n",
    "        # Create list of words separated by whitespace\n",
    "        words = re.split('\\s+', clean)\n",
    "        # Create an edge for each pair of words\n",
    "        for v in words:\n",
    "            # Update word count, add node if necessary\n",
    "            try:\n",
    "                G.nodes[v]['count'] += 1\n",
    "            except KeyError:\n",
    "                G.add_node(v)\n",
    "                G.nodes[v]['count'] = 1\n",
    "            # Update edge count for each pair of words in this sentence\n",
    "            for w in words:\n",
    "                # Skip stop words\n",
    "                if v == w or v in stop_words or w in stop_words:\n",
    "                    continue\n",
    "                # Skip blank space\n",
    "                if len(v) == 0 or len(w) == 0:\n",
    "                    continue\n",
    "                # Add one to the edge's count\n",
    "                try:\n",
    "                    G.edges[v, w]['count'] += 1\n",
    "                except KeyError:\n",
    "                    # Edge doesn't exist, create it\n",
    "                    G.add_edge(v, w, count=1)\n",
    "    return G"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [],
   "source": [
    "# Read the text\n",
    "with open('data/shelley1818/frankenstein.txt',encoding=\"utf-8\") as f:\n",
    "    text = f.read()\n",
    "# Create a network from the text\n",
    "G = co_occurrence_network(text)\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "pairs = sorted(\n",
    "    G.edges(data=True),\n",
    "    key=lambda e: e[2]['count'],\n",
    "    reverse=True)\n",
    "pairs[0:10]\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": true
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "pos=nx.spring_layout(G)\n",
    "nx.draw_networkx_nodes(G, pos, alpha=0)\n",
    "nx.draw_networkx_edges(\n",
    "    G, pos, edge_color=\"#333333\", alpha=0.05)\n",
    "# Zoom in for a better view\n",
    "plt.xlim([-0.1,0.1]); plt.ylim([-0.1, 0.1])\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": true
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "\n",
    "# Count co-occurrences for characters only\n",
    "characters = [\n",
    "    'creature', 'monster', 'victor', 'elizabeth',\n",
    "    'william', 'henry', 'justine']\n",
    "G_focus = G.subgraph(characters)\n",
    "# Create list of edge counts\n",
    "counts = [G_focus.edges[e]['count'] for e in G_focus.edges]\n",
    "\n",
    "# Create spring layout\n",
    "pos = nx.spring_layout(G_focus)\n",
    "\n",
    "# Create figure and draw nodes\n",
    "plt.figure()\n",
    "nx.draw_networkx_nodes(G_focus, pos)\n",
    "# Draw edges\n",
    "nx.draw_networkx_edges(\n",
    "    G_focus, pos, width=8,\n",
    "    edge_color=counts, edge_cmap=plt.cm.Blues, alpha=0.5)\n",
    "nx.draw_networkx_edges(G_focus, pos, edge_color=\"#7f7f7f\",alpha=0.5)\n",
    "# Draw labels\n",
    "nx.draw_networkx_labels(G_focus, pos)\n",
    "plt.tight_layout()\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": true
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "source": [],
    "metadata": {
     "collapsed": false
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}